package org.water.common.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

import org.ocpsoft.prettytime.PrettyTime;
import org.ocpsoft.prettytime.units.JustNow;
import org.ocpsoft.prettytime.units.Millisecond;
import org.ocpsoft.prettytime.units.Second;


public class DateUtil
{
	
	private static PrettyTime prettyTime;
	private static SimpleDateFormat dateFormat=new SimpleDateFormat();
	
	
	/**
	 * 格式化日期
	 * @param date
	 * @return
	 */
	public static String getFormatDateStr(Date date)
	{
		prettyTime= new PrettyTime(new Date());
		String str="";
		if(date!=null)
		{
			prettyTime.setLocale(Locale.CHINA);
			prettyTime.removeUnit(JustNow.class);
			prettyTime.removeUnit(Second.class);
			prettyTime.removeUnit(Millisecond.class);
			str=prettyTime.format(date).replaceAll(" ", "");
		}
		return str;
	}
	/**
	 * 格式化日期
	 * @param date
	 * @param format 如果为空则以yyyy-MM-dd格式
	 * @return
	 */
	public static String getFormatDateStr(Date date,String format)
	{
		String str="";
		if(format==null)
		{
			format="yyyy-MM-dd";
		}
		dateFormat.applyPattern(format);
		if(date!=null) str=dateFormat.format(date);
		return str;
	}
	/**
	 * 解析字符串为日期
	 * @param dateStr
	 * @param format
	 * @return
	 */
	public static Date parseText(String dateStr,String format)
	{
		Date date=null;
		if(format==null)
		{
			format="yyyy/MM/dd HH:mm:ss";
		}
		dateFormat.applyPattern(format);
		try {
			date=dateFormat.parse(dateStr);
		} catch (ParseException e) {
			//e.printStackTrace();
		}
		return date;
	}
}
